package 动态代理;

import java.lang.reflect.Proxy;

public class Main {
	public static void main(String[] args) {
//		PersonDo personDo = new PersonDo();
//		personDo.setName("小明");
//		PersonHandler handler = new PersonHandler(personDo);
//		
//		PersonInterface proxy = (PersonInterface)Proxy.newProxyInstance(personDo.getClass().getClassLoader(), personDo.getClass().getInterfaces(), handler);
//		proxy.say();
		
		//自己代理测试
//		Test test = new Test();
//		test.testSelfHandel();
		
		//直接通过工具后去proxy并且在内部完成好需要的处理
		PersonDo personDo = new PersonDo();
		personDo.setName("小明");
		TestProxy proxyTool = new TestProxy(personDo);
		PersonInterface proxy = proxyTool.getPersonProxy(personDo);
		proxy.say();
		
	}
}
